#region head comment
/*
Code generate by YhdSdkTool.
email:starpeng@vip.qq.com
2013-01-21 23:00:57:154 +08:00
*/
#endregion

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using YhdSdk.Domain;
using YhdSdk.Domain.Order;
using YhdSdk.Response.Order;

namespace YhdSdk.Request.Order
{
    /// <summary>
    /// 查询发票信息
    ///<para></para>
    ///<para>根据订单编码列表来获取相应订单的发票信息，查询成功，则返回查询成功记录数及对应的发票信息。查询失败，则返回查询</para>
    ///<para>失败记录数及相应的错误信息描述。注意:发票信息在(订单)待发货(ORDER_TRUNED_TO_DO)状态下生成</para>
    /// </summary>
    public class YhdInvoicesGetRequest : IYhdRequest<YhdInvoicesGetResponse>
    {
        /// <summary>
        /// 订单编码列表（逗号分隔）,最大长度为100
        /// </summary>
        [XmlArray("orderCodeList")]
        [XmlArrayItem("string")]
        public List<String> OrderCodeList
        {
            get;
            set;
        }

        /// <summary>
        /// Api接口名称
        /// </summary>
        public String ApiName
        {
            get{ return "yhd.invoices.get"; }
        }

        /// <summary>
        /// 获取参数列表
        /// </summary>
        public IDictionary<string, string> GetParameters()
        {
            YhdDictionary parameters = new YhdDictionary();
            parameters.Add("orderCodeList" ,this.OrderCodeList);
            return parameters;
        }

        /// <summary>
        /// 验证参数
        /// </summary>
        public void Validate()
        {
            RequestValidator.ValidateRequired("orderCodeList", this.OrderCodeList);
        }

    }
}
